import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import path from 'path';
import vueI18n from '@intlify/vite-plugin-vue-i18n';

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue(),
    vueI18n({
      // 指向你的语言文件所在的文件夹
      include: path.resolve(__dirname, './src/i18n/locales/**')
    })
  ],
  test: {
    // 在这里放置 Vitest 的配置
    globals: true,
    environment: 'jsdom',
  },
  // 打包路径
  // base: './',
  resolve: {
    alias: {
      // 设置别名
      '@': path.resolve(__dirname, 'src'),
      '@img': path.resolve(__dirname,'public')
    },
  },
  server: {
    open: true,
    port: 8888,
    host: '0.0.0.0',
  },
  build: {
    // 库模式配置
    lib: {
      entry: './src/entry.js', // 组件入口文件
      name: 'FrontEndLibrary', // 打包后的全局变量，对于UMD格式
      fileName: (format) => `front-end-component-library.${format}.js`, // 打包文件的名字
    },
    cssCodeSplit: false,
    // 打包输出配置
    rollupOptions: {
      // 确保外部处理那些不想打包进库的依赖
      external: ['vue', 'element-plus'],
      output: {
        // 为打包类型提供变局变量
        globals: {
          vue: 'Vue',
          'element-plus': 'ElementPlus',
        },
        // 如果你想要 CSS 作为一个单独的文件被导出，你可以使用 `assetFileNames` 属性
        assetFileNames: `front-end-component-library.[ext]`
      }
    },
  },
});
